class Student(object):
    #初始化操作 可以通过init这个方法将学生对象绑定为name和age两个属性
    def __init__(self,name,age):
        self.name=name;
        self.age=age;

    def study(self,course_name):
        print('%s正在学习%s'%(self.name,course_name))
    def watch_movie(self):
        if self.age<18:
            print('%s只能观看少儿频道'%self.name)
        else:
            print('%s正在观看岛国爱情大电影'%self.name)

#创建和使用对象
def main():
    stu1=Student('slsher',25)
    stu1.study('面向对象程序设计')
    stu1.watch_movie()
    stu2=Student('leidian',16)
    stu2.study('数据结构与算法')
    stu2.watch_movie()

if __name__ == '__main__':
    main()


#在python中属性和方法的访问权限只有两种 私有（再给属性命名的时用两个下划线作为开头）和公开
class Test:
    def __init__(self,foo):
        self.__foo=foo;
    def __bar(self):
        print(self.__foo)
        print("__bar")
def main():
    test=Test("hello");
    #AttributeError: 'Test' object has no attribute '__bar'
    test._Test__bar()#更换名字的规则
    #AttributeError: 'Test' object has no attribute '__foo'
    print(test._Test__foo)

if __name__ == '__main__':
    main()

